Skip to content

Conversation

@liustve
Copy link
Contributor

@liustve liustve commented Apr 10, 2025

Issue description:
Added a workflow to automatically performance test and gather the results for the unreleased .NET Lambda Layer.

The GitHub workflow does the following:

  1. Deploy and setup the .NET Lambda sample application instrumented with the Application Signals Lambda Layer on the AppSignals e2e testing aws account.
  2. Record the start time of the test and run the specified amount (default: 20) Lambda cold start iterations on the sample application
  3. Record the end time of the test
  4. Query CW Logs Insights for the aggregated performance testing metrics with the following query:
fields @timestamp, @message, @initDuration
| filter @message like "REPORT RequestId"
| stats
    count(@initDuration) as Sample_Count,
    avg(@initDuration) as Average_Init_Duration,
    min(@initDuration) as Min_Init_Duration,
    max(@initDuration) as Max_Init_Duration,
    pct(@initDuration, 50) as P50_Init_Duration,
    pct(@initDuration, 90) as P90_Init_Duration,
    pct(@initDuration, 99) as P99_Init_Duration'
  1. Parse and flatten the result from the query call and save it in a file.
  2. Clean and destroy the deployed lambda resources upon completion, cancellation, or failure.

Testing
Testing was done on a personal aws dev account with the exact IAM permissions as the e2e testing aws account.
Example of a successful job:

https://github.com/liustve/aws-application-signals-test-framework/actions/runs/14389946356

@liustve liustve requested review from wangzlei and yiyuan-he April 10, 2025 21:00
@liustve liustve changed the title Perf testing lambda layer dotnet [.NET] Add Performance Testing Workflow for Lambda Layer Apr 10, 2025
@yiyuan-he
Copy link
Contributor

Will workflow failure on most recent run be an issue?

@liustve
Copy link
Contributor Author

liustve commented Apr 10, 2025

Will workflow failure on most recent run be an issue?

Nope I just ran that workflow before the previous workflow finished so the AWS resources deployed weren't cleaned yet.

@liustve
Copy link
Contributor Author

liustve commented Apr 10, 2025

Will workflow failure on most recent run be an issue?

Probably will add a warning on the preflight steps to not start a new workflow unless the one

Will workflow failure on most recent run be an issue?

Nope I just ran that workflow before the previous workflow finished so the AWS resources deployed weren't cleaned yet.

Actually will probably have to add a disclaimer on the preflight to not run a new workflow unless the previous run has either succeeded, failed, or cancelled

@liustve liustve merged commit ff9e0b7 into aws-observability:main Apr 10, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants